package com.hdu.careerplan.service;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.hdu.careerplan.pojo.dto.CityJobChoiceListDTO;
import com.hdu.careerplan.pojo.entity.CompetenceInfo;
import com.hdu.careerplan.pojo.pythonData.CompanyInfoData;
import com.hdu.careerplan.pojo.pythonData.CompanyListData;

import java.io.IOException;
import java.util.List;

public interface RecommendService {


    /**
     * 一个城市不同岗位的数据，和一个岗位不同城市的数据
     * @param flag 0：一个城市不同岗位的数据；1：一个岗位不同城市的数据
     * @param cityJobChoiceListDTO 城市 岗位 列表
     * @return 公司列表
     * @author JacksonZHR
     */
    List<CompanyListData> relateCompany(int flag, CityJobChoiceListDTO cityJobChoiceListDTO) throws IOException, InterruptedException;

    /**
     * 获取某个企业具体的招聘信息
     * @param companyName 公司名
     * @return 公司具体的信息
     */
    CompanyInfoData getCompanyInfo(String companyName) throws IOException, InterruptedException;


    /**
     * 当用户没有选择方向的时候，进行相关的职业推荐
     *
     * @param userId 用户Id
     * @return 推荐列表
     */
    JSONArray getPositionRecommendationFromResume(Long userId) throws IOException, InterruptedException;

    /**
     * 获取简历胜任度评分
     * @param userId 用户Id
     * @return 返回胜任度评分
     */
    List<CompetenceInfo> getCompetenceScore(Long userId) throws IOException, InterruptedException;

    /**
     * 根据兴趣进行推荐
     * @param userId 用户Id
     * @return 推荐列表
     */
    JSONArray getDirectionFromInterestScore(Long userId) throws IOException, InterruptedException;


}
